unit UDmGestao;

interface

uses
  SysUtils, Classes, DB, DBTables, Dialogs, DBClient, Provider;
                     
type
  TDMGestao = class(TDataModule)
    QVendedor: TQuery;
    QCliente: TQuery;
    QFornecedor: TQuery;
    QGrupProduto: TQuery;
    QTipoMovimentoEstoque: TQuery;
    QLocal: TQuery;
    QEmpresa: TQuery;
    QPedido: TQuery;
    QProcesso: TQuery;
    QParametro: TQuery;
    QTransportadora: TQuery;
    QProdutoEnt: TQuery;
    QConfiguraImpressao: TQuery;
    QConfiguraImpressaoCampos: TQuery;
    QUsuario: TQuery;
    QConta: TQuery;
    QNotaFiscal: TQuery;
    QPortador: TQuery;
    QTipoDocumento: TQuery;
    QMunicipio: TQuery;
    QUF: TQuery;
    QPedidoVenda: TQuery;
    QItensNotaFiscal: TQuery;
    QProdutoSai: TQuery;
    QFabricane: TQuery;
    SQLClassProduto: TQuery;
    QNivel: TQuery;
    QSolicitante: TQuery;
    QMotivoSolicitacao: TQuery;
    QTipoRequisicao: TQuery;
    QAutorizantePedido: TQuery;
    dspClassProduto: TDataSetProvider;
    QClassProduto: TClientDataSet;
    QAtividadeEconomica: TQuery;
    QSituacaoRPS: TQuery;
    procedure DataModuleCreate(Sender: TObject);
    procedure QParametroAfterOpen(DataSet: TDataSet);
    procedure QClassProdutoAfterOpen(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DMGestao: TDMGestao;

implementation

uses UGeral, UGestao;

{$R *.dfm}

procedure TDMGestao.DataModuleCreate(Sender: TObject);
var
 i :Integer;
begin

  for i:= 0 to Self.ComponentCount - 1 do
  begin

    try

      if (TQuery(Self.Components[i]).Name = 'QClassProduto') or
         (TQuery(Self.Components[i]).Name = 'dspClassProduto') then
        continue;

      TQuery(Self.Components[i]).Close;

      if (pos(':Emp',TQuery(Self.Components[i]).SQL.Text) <> 0) then
        TQuery(Self.Components[i]).ParamByName('Emp').AsInteger := Codigoempresa;

      TQuery(Self.Components[i]).Open;
    except
      showMessage(TQuery(Self.Components[i]).Name);
    end;

  end;

  QClassProduto.Open;

end;

procedure TDMGestao.QParametroAfterOpen(DataSet: TDataSet);
begin

  UGestao.notificar_pedido := DMGestao.QParametro.FieldByName('PAR_VENDA_NOTIFICAR_PEDIDO').AsString;

end;

procedure TDMGestao.QClassProdutoAfterOpen(DataSet: TDataSet);
var
  espacos : string;

begin

  QClassProduto.First;

  while not(QClassProduto.Eof)do
  begin

    QClassProduto.Edit;

    case length(QClassProduto.FieldByName('ESTRUTURA').AsString) of
      1 :espacos := '';
      5 :espacos := '-';
      9 :espacos := '--';
      13:espacos := '---';
    end;

    QClassProduto.FieldByName('CLASS_PROD_DESCRICAO').AsString := espacos +
                                                                  QClassProduto.FieldByName('CLASS_PROD_DESCRICAO').AsString;
    QClassProduto.post;

    QClassProduto.Next;

  end;

end;

end.
